home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-30 | 2.3 KB | 149 lines | [TEXT/CWIE] |
- { GadgetsDoc.p -- document-level functions }
-
- Unit GadgetsDoc;
- Interface
-
- Uses
- Types,
- Events,
- Files,
- Menus,
- GadgetsEngine,
- AMDoc;
-
- type
- GadgetsDoc = object (AMDoc)
-
- {data members}
- mButtonsPtr: WindowPtr;
- mTabbedPanelPtr: WindowPtr;
- mEditTextPtr: WindowPtr;
-
- {methods - public}
- Procedure Initialize; Override;
-
- Function DoCommand (inCommand: longint): Boolean; Override;
-
- {methods - internal}
- Procedure OpenWindows; Override;
- Function WouldCloseDoc (windPtr: WindowPtr): Boolean; Override;
-
- Function GetEngine: GadgetsEngine;
-
- Procedure DoInvokeAbout;
- end;
-
- {----------}
- Function NewGadgetsDoc: GadgetsDoc;
-
- {----------}
- Implementation
-
- Uses
- ResourceDefs,
- Globals,
-
- AboutDialog,
- DDocData,
- Buttons,
- DDocData,
- TabbedPanel,
- DDocData,
- EditText,
- Miscellany;
-
- {----------}
- Function NewGadgetsDoc: GadgetsDoc;
- var
- doc: GadgetsDoc;
- begin
- New (doc);
- if doc <> nil then begin
- doc.Initialize;
- end;
- NewGadgetsDoc := doc;
- end;
-
- {----------}
- Procedure GadgetsDoc.Initialize;
- begin
- inherited Initialize;
-
- mEngine := NewGadgetsEngine;
-
- mButtonsPtr := nil;
- mTabbedPanelPtr := nil;
- mEditTextPtr := nil;
- end;
-
- {----------}
- Function GadgetsDoc.GetEngine: GadgetsEngine;
- begin
- GetEngine := GadgetsEngine (mEngine);
- end;
-
- {----------}
- Procedure GadgetsDoc.OpenWindows;
- var
- engine: GadgetsEngine;
- Begin
- engine := GetEngine;
-
- { replace this code to get data from someplace useful }
-
- CreateButtons (self, engine.GetDocData);
- CreateTabbedPanel (self, engine.GetDocData);
- CreateEditText (self, engine.GetDocData);
- End;
-
- {----------}
- Function GadgetsDoc.WouldCloseDoc (
- windPtr: WindowPtr): Boolean;
- var
- numOpen: integer;
- Begin
- numOpen := 0;
-
- if mButtonsPtr <> nil then numOpen := numOpen + 1;
- if mTabbedPanelPtr <> nil then numOpen := numOpen + 1;
- if mEditTextPtr <> nil then numOpen := numOpen + 1;
-
- WouldCloseDoc := (numOpen <= 1);
- End;
-
- {----------}
- Procedure GadgetsDoc.DoInvokeAbout;
- var
- dummy: integer;
- begin
- if GetAboutDialog then begin
- { do something }
- end;
- end;
-
- {----------}
- Function GadgetsDoc.DoCommand (
- inCommand: longint): Boolean;
- begin
- DoCommand := true;
- case inCommand of
- cmdSave:
- DoSave;
- cmdSaveAs:
- DoSaveAs;
- cmdRevert:
- DoRevert;
- cmdPageSetup:
- DoPageSetup;
- cmdPrint:
- DoPrint;
- cmdInvokeAbout:
- DoInvokeAbout;
-
- otherwise
- DoCommand := false;
- end; {case}
- end;
-
- end.
-